#include<iostream>
#include<string>

#include"Bibliotheque.h"
#include"Ouvrage.h"
#include"Livre.h"
#include"Video.h"
#include"Abonne.h"

//methode ajout :vérifie si l'ouvrage, le livre, la video ou l'abonne existe ou pas.

long Bibliotheque::existeOuvrage(string Titre)
{
	for (int unsigned i=0;i<tab.size();i++)
	{
		if (tab[i]->getTitre=Titre)// 
		{
			return i;
		}
	}
return-1;
}



Bibliotheque::ajoutOuvrage(const Ouvrage& o)
{
	if (existeOuvrage(o.getTitre)==-1)//le titre de l'ouvrage n'existe pas
	{
		Ouvrage *O;//crée un pointeur pour l'instance O qui sera crée dans l'instruction qui suit.
		O=new Ouvrage(o);
		tab.push_back(O);//dans cette etape le tableau qui est de type vector augumentera son taille pour inserer l'instance O.
		return true;
	}
	else
	return false;
}

Bibliotheque::ajoutOuvrage(const Livre& l)
{
	if(existOuvrage(l.getTitre)==-1)
	{
		Livre *O;
		O=new Livre(l);
		tab.push_back(O)
		return true;
	}
	else
	return false;
}

Bibliotheque::ajoutOuvrage(const Video& v)
{
	if (existOuvrage(v.getTitre)==-1)
	{
		Video *V;
		V=new Video(v);
		tab.push_back(V);
		return true;
	}
	return false;
}


Bibliotheque::existAbonne(int NumIdentite)
{
	for (int unsigned i=0;i<ta1&.size[i];i++)
	{
		if (tab1[i]->getNumIdentite=NumIdenite)
		{
			return i;
		}
	}
	return -1;
}

Bibliotheque::ajoutAbonne(const Abonne& a)
{
	if (existAbonne(a.getNumIdentite)==-1)
	{
		Abonne *P;
		P=new Abonne(a);
		tab1.push_back(P);
		return true;
	}
	else
	return false;
}

Bibliotheque::emprunter(string Titre, int NumIdentite)
{
	Abonne *a;
	Ouvrage *o;

	if ((existAbonne(a.getNumIdentite)==-1)&&(existeOuvrage(o.getTitre)==-1)&&(o.getIndicateurExistance==true)&&(a.getTitreAbonne!=NULL))
	{
	o.getExistance=false;
	a.getTitreAbonne=o.getTitre;
	return true
	}
	else
	return false;
}

Bibliotheque::rendre(int NumIdentite)
{
	Abonne *a;
	Ouvrage *o;

	if ((existAbonne(a.getNumIdentite)==-1))
	{
	o.getExistance=true;
	a.getTitreAbonne=NULL;
	return true;
	}
	else
	return false;
}

void Bibliotheque::info()
{
	for (int unsigned i=0;i<tab.size();i++)
	{
		if (tab[i]->getIndicateurExistance=true)
		{
			cout<<"le titre est : "<<Titre<<"La date d'ajout est : "<<DateExistance<<endl;
		}
	}
	
	for (int unsigned i=0;i<tab1.size();i++)
	{
		if (tab1[i]->getTitreEmpunte==NULL)
		{
			cout<<"le numero d'dentité est : "<<NumIdentite<<"Le nom de l'abonne est : "<<Nom<<"le num d'abonne est : "<<endl;
		}
	}
	
	
	
return-1;
}

Bibliotheque::~Bibliotheque()
{
}

Bibliotheque::Bibliotheque()
{
}


Bibliotheque::Bibliotheque(const Bibliotheque& b)













